/*
 * 
 *方法的整理与重构
 *
 *
 */

//定义app参数名称，并加载其它模块
var authApp=angular.module('authapp', ["ngCookies",'ngFileUpload','ui.bootstrap']);

//此为定位页面所用
authApp.value('page','school_contacts2');

/*controller部分*/

//定义父controller，主要用于controller之间传递信息
authApp.controller("fcontroller",function($scope,$http){
	//
	//****与分页相关的****
	//
	
	//从接口中获取总的分页数量
	$scope.$on('$getPageCountFromApi',function(event,data){
		$scope.$broadcast('$getPageCount',data);
	});
	
	//捕获分页点击事件并传递currentPage信息到主controller
	 $scope.$on('$pageAction',function(event,data){
		 $scope.$broadcast('$pageChanged',data);
	 });
})


//主要操作controller
authApp.controller("expertListController",function($scope,$http){
	//针对此页面需要的参数 should edit
	$scope.isAddM=true;
	$scope.isAddPwd=true;
	//$scope.isHExpert=true;
	$scope.isMLExpert=true;
	$scope.isclickBtn=false;
	
	$scope.isexpert=true;
	
	//**********主体方法
	//设置分页初始参数（最好与$scope.currentPage和$scope.itemsPerPage一致！！！！//这边之所以$scope.pageNumber=0是因为后台接口第一页为0）
	$scope.ifFirstTimeQuery=true;
	$scope.pageNumber=0;
	$scope.pageSize=10;
	var queryMainApi=apis.queryAuthSchoolContactsByPage2;//！！！should edit
	$scope.queryMain=function(){
		$http({
			method:'post',
			url:queryMainApi,
			data:{'pageNumber':$scope.pageNumber,'pageSize':$scope.pageSize,'type':2},
		}).success(function(response){
			if(response.code=="000000"){
				$scope.queryMainApiCallBack(response);
				$scope.$emit('$getPageCountFromApi',response.data);
			}else{
				alert(response.errorMsg);
			}
		}).error(function(){
			alert("网络出现故障，请确认网络是否连接");
		})
	}
	//捕捉分页点击事件并做处理
	$scope.$on("$pageChanged",function(event,data){
		if(!$scope.ifFirstTimeQuery){//解决第一次会调用两次接口的问题
			$scope.pageNumber=data.currentPage-1;//这边之所以-1是因为后台接口第一页为0
			$scope.queryMain();
		}
		$scope.ifFirstTimeQuery=false;//改变是否是第一次调用接口的状态
	})
	$scope.queryMain();
	
	/*下面为自已编辑部分*/
	
	//调用主接口成功之后的处理方法
	$scope.queryMainApiCallBack=function(response){
		if(response.code=="000000"){
			$scope.list=response.data.data;
			angular.forEach($scope.list,function(data,index,array){
				if(data.type=="0"){
					data.typeName="分管领导 ";
				}else if(data.type=="1"){
					data.typeName="科教院负责人";
				}else if(data.type=="2"){
					data.typeName="教务处负责人";
				}else{
					data.typeName="未选择";
				}
			})			
		}else{
			alert(response.errorMsg);
		}
	}
	
	/*
	 * 
	 * 其它操作方法
	 * 
	 */
	
	$scope.open = function($event){  // 创建open方法 。 下面默认行为并将opened 设为true
		$event.preventDefault();
		$event.stopPropagation();
		$scope.opened = true;
	}
	
	$scope.addM=function(){
		$scope.isAddM=false;
		$scope.isclickBtn=false;
		$scope.isexpert=true;
	}
	
	$scope.cancelAddM=function(){
		$scope.isAddM=true;
		$scope.clearInfo();
	}
	
	//添加专家
	$scope.addFirstZ=function(){
		$scope.isclickBtn=false;
		if(window.confirm("是否确认添加")){
			var rJson={ 'name':$scope.name,
						'type':2,
						'mobilePhone':$scope.mobilePhone,
						'telephone':$scope.telephone,
						'email':$scope.email,
						};
			$http({
				method:'post',
				url:apis.insertAuthSchoolContacts,
				data:rJson,
			}).success(function(response){
				if(response.code=="000000"){
					$scope.queryMain();
					$scope.isAddM=true;
					$scope.clearInfo();
				}else{
					alert(response.errorMsg);
				}
			}).error(function(){
				alert("服务器打瞌睡了，请稍等！");								
			})
			
		}
	}
	//删除专家
	$scope.deleteExpert=function(pid,index){
		if(window.confirm("是否删除？")){
			$http({
				method:'post',
				url:apis.deleteAuthSchoolContacts,
				data:{'pid':pid}
			}).success(function(response){
				if(response.code=="000000"){
					$scope.list.splice(index,1);
				}else{
					alert(response.errorMsg);
				}
			}).error(function(){
				alert("服务器打瞌睡了，请稍等！");
				$scope.isAddM=true;
			})
		}
	}
	
	//按pid查询
	$scope.queryAuthSchoolContactsById=function(pid){
		
		$scope.isAddM=false;
		$scope.isclickBtn=true;
		$scope.Pid=pid;
		var random=Math.random();
		$http({
			method:'get',
			params:{'pid':pid,'random':random},
			url:apis.queryAuthSchoolContacts,
		}).success(function(response){
			if(response.code=="000000"){
				$scope.name=response.data.name;
				$scope.type=response.data.type;
				$scope.mobilePhone=response.data.mobilePhone;
				$scope.telephone=response.data.telephone;
				$scope.email=response.data.email;
			}else{
				alert(response.errorMsg);
			}
		}).error(function(){
			alert("服务器打瞌睡了，请稍等！");
			$scope.isAddM=true;
		})
	}
	
	//修改专家信息
	$scope.amendExpert=function(pid){
		if(window.confirm("是否确认修改？")){
			$http({
				method:'post',
				url:apis.updateAuthSchoolContacts,
				data:{'pid':$scope.Pid,'name':$scope.name,'mobilePhone':$scope.mobilePhone,'telephone':$scope.telephone,'email':$scope.email,'type':2},
			}).success(function(response){
				if(response.code=="000000"){
					$scope.queryMain();
					$scope.isAddM=true;
					$scope.clearInfo();
				}else{
					alert(response.errorMsg);
				}
			}).error(function(){
				alert("服务器打瞌睡了，请稍等！");
				$scope.isAddM=true;
			})
		}
	}
	
	$scope.clearInfo=function(){
		$scope.name="";
		$scope.mobilePhone="";
		$scope.telephone="";
		$scope.email="";
	}
})

//分页controller
authApp.controller('pageDemo',function($scope){
	//定义分页的初始参数（不改动，不会影响功能）
	$scope.currentPage=1;
	$scope.itemsPerPage=10;
	$scope.maxSize = 8;
	//需要接口返回的一些参数，如pagecount
	$scope.$on('$getPageCount',function(event,data){
        $scope.totalItems = parseInt(data.recordCount);
        $scope.bigTotalItems =parseInt(data.recordCount);      
	});
	//分页点击的触发事件
	 $scope.$watch('currentPage', function() {
		 var pagedata={currentPage:$scope.currentPage};
		 $scope.$emit('$pageAction',pagedata);
	  });
})